﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace RSSP1
{
    class HD_Thread
    {
        /*********************************************************************************************************
        *  @file           HD_Thread.cs
        *  @fn             TRD_GetThread
        *  @brief          获取线程对象函数
        *  @detail         调用函数，输入线程执行函数，函数将创建线程对象，并绑定线程执行函数
        *  @param[in]      threadStart      线程执行函数
        *  @param[out]     无    
        *  @return         Thread           线程对象
        *  @author         DUJIANHUA
        *  @date           2021-05-25
        *  @version        V1.0
        *********************************************************************************************************/
        public static Thread TRD_GetThread(ThreadStart threadStart)
        {
            /** 定义线程对象*/
            Thread thread = null;
            try
            {
                /** 创建线程并绑定线程函数*/
                thread = new Thread(new ThreadStart(threadStart));
            }
            catch (Exception e)
            {
                /** 创建失败，设置无效线程*/
                thread = null;
            }
            /** 返回线程对象*/
            return thread;
        }

        /*********************************************************************************************************
        *  @file           HD_Thread.cs
        *  @fn             TRD_StartThread
        *  @brief          启动线程
        *  @detail         调用函数，输入线程对象，函数将启动执行的线程执行
        *  @param[in]      thread          线程对象
        *  @param[out]     无    
        *  @return         无
        *  @author         DUJIANHUA
        *  @date           2021-05-25
        *  @version        V1.0
        *********************************************************************************************************/
        public static void TRD_StartThread(Thread thread)
        {
            /** 入参合法检查*/
            if (null != thread)
            {
                /** 启动执行线程*/
                thread.Start();
            }
        }
    }
}
